package abordagem.leitor_tranca_bd;

import main.Principal;
import util.ClasseAuxiliar;

/**
 * Classe LTBDLeitor: Leitor da abordagem LTBD. Para mais informacoes sobre a abordagem LTBD: {@link Principal}
 * 
 * @author Andreia Rodrigues de Oliveira, Raphael Henrique Monteiro, Regis Hideki Hatori;
 *
 */
public class LTBDLeitor extends Thread {

	private LTBDLock db;
	private Principal main;

	/**
	 * Construtor da classe LTBDLeitor
	 * 
	 * @param db banco da abordagem LTBD
	 * @param main objeto da classe {@link Principal}
	 */
	public LTBDLeitor(LTBDLock db, Principal main) {
		
		this.db = db;
		this.main = main;
		
	}

	@Override
	public void run() {

		db.acquire();
		int pos = ClasseAuxiliar.posicaoAleatoriaNoBd();

		try {
			
			Thread.sleep(5);
			
		} catch (InterruptedException e) {
			
			e.printStackTrace();
			
		}

		main.setPalavra(main.getListaBd().get(pos));
		db.release();

	}
}
